package com.james.wee.pwddic;

import java.util.ArrayList;
import java.util.List;

public class PwdDic {
//	private static char[] is = new char[] { '0', '1', '2', '3', '4', '5', '6' };

	 private static char[] is = { 'q', 'a', 'z', 'w', 's', 'x', 'e', 'd', 'c',
	 'r', 'f', 'v', 't', 'g', 'b', 'y', 'h', 'n', 'u', 'j', 'm', 'i',
	 'k', 'o', 'l', 'p', '0', '1', '2', '3', '4', '5', '6', '7', '8',
	 '9', 'Q', 'A', 'Z', 'W', 'S', 'X', 'E', 'D', 'C', 'R', 'F', 'V',
	 'T', 'G', 'B', 'Y', 'H', 'N', 'U', 'J', 'M', 'I', 'K', 'O', 'P',
	 'L', '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_',
	 '+', '=', '-', '`', ',', '.', '/', '<', '>', '?', '|', '\\' };
	private static int total;
	private static int m = 8;
	private static String root = null;

	public static void main(String[] args) {
		List<Integer> iL = new ArrayList<Integer>();
		T t = new T();
		root = t.toString();
		new PwdDic().plzh("", iL, m, t);
		System.out.println("total : " + total);
	}

	private void plzh(String s, List<Integer> iL, int m, T t) {
		if (m == 0) {
//			System.out.println(s);
			total++;
			return;
		}
//		List<Integer> iL2;
		for (int i = 0; i < is.length; i++) {
			if (null != t && t.toString().equals(root) && i != 0)
				break;
//			iL2 = new ArrayList<Integer>();
//			iL2.addAll(iL);
//			if (!iL.contains(i)) {
//				String str = s + is[i];
//				iL2.add(i);
				plzh("", null, m - 1, null);
//			}
		}
	}
}
